package com.knowswift.common.bean.issue.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import javax.validation.constraints.*;
import java.time.LocalDateTime;
import java.util.List;


@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class IssueVO {
    private String issueId;
    @NotBlank(message = "项目模块不可为空")
    private String moduleName;
    @NotBlank(message = "项目名称不可为空")
    private String projectName;
    //    @NotBlank(message = "治理类型不可为空")
    private String issueClassify;
    @NotBlank(message = "请输入或者选择区域")
    private String issueArea;
    @NotBlank(message = "请输入或者选择编号")
    private String issueCode;
    @Min(value = -90, message = "纬度最小为南纬90度")
    @Max(value = 90, message = "纬度最大为北纬90度")
    @NotNull(message = "纬度不可为空")
    private Double issueLatitude;
    @NotNull(message = "经度不可为空")
    @Min(value = -180, message = "纬度最小为西经180度")
    @Max(value = 180, message = "纬度最大为东经180度")
    private Double issueLongitude;
    private String remark;
    @NotEmpty(message = "请至少上传一张图片")
    private List<String> issueImages;
    private String primaryImage;
    private String createUserId;
    @NotBlank(message = "上报人姓名不可为空")
    private String reporterName;
    private Integer issueStatus;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private LocalDateTime reportTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime auditTime;
    private String auditUserId;
    private String deviceId;

    private Long pageNo;
    private Long pageSize;
    private String type;
}
